package com.jhhc.StormSurgeForecast.StormSurge.Service;

import com.jhhc.StormSurgeForecast.StormSurge.Pojo.FBC.BDMS_FBC_RESULT_SCHEME;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BDMS_FBC_RESULT_SCHEMEService {
    List<BDMS_FBC_RESULT_SCHEME> GetCalSchemeInfoByTyphoonIds( int projectId,
                                                             int typhoonId,  String starTime,
                                                             String endTime,int  modelId);
    List<BDMS_FBC_RESULT_SCHEME> GetCalSchemeInfoByTyphoonIds2( int projectId,
                                                               int typhoonId,  String starTime,
                                                               String endTime,int  modelId);

    List<BDMS_FBC_RESULT_SCHEME> GetCalSchemeInfoByPid( int projectId, String startTime,
                                                     String endTime,int  modelID);

    //根据pid台风id获取方案
    List<BDMS_FBC_RESULT_SCHEME> selectByPid(int projectId, int scheme_id);

    //获取最新一条的预报方案列表
    BDMS_FBC_RESULT_SCHEME  selectLatestOneBySchemeId( int projectId, Integer typhoonId, String time ,int modelId);

    BDMS_FBC_RESULT_SCHEME  selectLatestOneByFlag(  int projectId,Integer typhoonId, String time,int modelId);



    //查询台风预报方案   @Param("backDays") String backDays
    List<BDMS_FBC_RESULT_SCHEME> GetCalSchemeInfoByPidTrue(@Param("projectId") int projectId,
                                                           @Param("startTime") String startTime,
                                                           @Param("endTime") String endTime,
                                                           @Param("modelId") int  modelId);


    List<BDMS_FBC_RESULT_SCHEME> GetCalSchemeInfoByPidFalse(@Param("projectId") int projectId,
                                                            @Param("startTime") String startTime,
                                                            @Param("endTime") String endTime,
                                                            @Param("modelId") int  modelId);

    BDMS_FBC_RESULT_SCHEME selectSchemeByTime2(@Param("projectId") int projectId,
                                               @Param("startTime") String startTime,
                                               @Param("endTime") String endTime);

    //根据计算方案查询id查询计算方案
    BDMS_FBC_RESULT_SCHEME selectTimeByCalShemeId(@Param("scheme_id") int scheme_id);

    BDMS_FBC_RESULT_SCHEME selectTimeByCalShemeId1(@Param("scheme_id") int scheme_id,int modelId);
    BDMS_FBC_RESULT_SCHEME selectSchemeByTime(@Param("projectId") int projectId,
                                              @Param("startTime") String startTime,
                                              @Param("endTime") String endTime);

    BDMS_FBC_RESULT_SCHEME selectSchemebyTime(@Param("projectId") int projectId,@Param("startTime") String startTime);

    BDMS_FBC_RESULT_SCHEME selectSchemeByTime3(@Param("projectId") int projectId,
                                               @Param("startTime") String startTime,
                                               @Param("endTime") String endTime, @Param("modelId") int modelId);
    //根据日期查询计算方案
    BDMS_FBC_RESULT_SCHEME selectNewOneByModelId(int modelId , @Param("startTime") String startTime,
                                                 @Param("endTime") String endTime);
    BDMS_FBC_RESULT_SCHEME selectNewOne();
}

